package com.alibaba.springbootrbac.model.param.user;

import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author ZhouYaDong
 * @date 2025/8/22
 * @description 分页查询Param
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserPageQueryParam {

    /**
     * 页码
     */
    @NotNull(message = "当前页面不能为空")
    @Min(value = 1,message = "当前页码必须大于等于1")
    private Integer pageNum;

    /**
     * 每页条数
     */
    @NotNull(message = "页面size不能为空")
    @Min(value = 1,message = "页面size必须大于等于1")
    private Integer pageSize;

    /**
     * 用户名
     */
    private String username;

    /**
     * 状态 1=正常，0=禁用
     */
    private Integer status;


    /**
     * 手机号
     */
    @Pattern(regexp = "^\\d{10}$", message = "手机号格式不正确") // 校验手机号格式
    private String phone;

    /**
     * 邮箱
     */
    @Pattern(regexp = "^[A-Za-z0-9+_.-]+@(.+)$", message = "邮箱格式不正确") // 校验邮箱格式
    private String email;

}
